import scrapy



class PictureSpider(scrapy.Spider):
    name = 'picture'
    allowed_domains = ['4399.com']
    start_urls = ['http://www.4399.com/flash/']

    def parse(self, resp):
        # 查看是 哪个网页 返回来的数据
        print(resp.url)

        # 获取 游戏网站的 多个页面地址
        img_srcs = resp.xpath("//div[@id='pagg']/a[@target='_self']/@href").extract()
        # print(img_srcs)
        for img_src in img_srcs:

            # 生成完整的 页面 URL地址
            child_url = resp.urljoin(img_src)

            # 发送请求，经过 引擎 -> 调度器 -> 引擎 -> 下载器 -> 网页返回数据，执行回调函数
            yield scrapy.Request(url=child_url, callback=self.NextParse)


    def NextParse(self, resp, **kwargs):

        # 查看 爬取的是哪个网页
        print(resp.url)

        # 每个网页，只获取一张图片
        img_src = resp.xpath("//ul[@class='n-game cf']/li/a/img/@lz_src")[0].extract()
        img_src = resp.urljoin(img_src)

        img_name = resp.xpath("//ul[@class='n-game cf']/li/a/b/text()")[0].extract()

        print(img_src, img_name)
        # 发送给 Pipeline进行数据保存
        yield {
            'name':img_name,
            "src": img_src
        }























# # 题外内容
# if __name__ == '__main__':
#     s = "https://desk.zol.com.cn/dongman/周杰伦"
#     child = "/hehe/haha/houhou.html"
#
#     # 用urllib来做url的拼接。
#     from urllib.parse import urljoin
#     ssss = urljoin(s, child)  # 拼接路径的时候。 不需要考虑是否以/开头
#
#     print(ssss)
